package com.kingdee.eas.custom.util;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import com.kingdee.bos.dao.IObjectValue;
import com.kingdee.eas.fi.gl.WSVoucherCollection;
import com.kingdee.eas.fi.gl.WSVoucherInfo;

/**
 * @author lifetime 2012-4-26
 * 
 */
public class VoucherImportInfo extends WSVoucherCollection {
	private HashMap<String, Object> headMap;

	public VoucherImportInfo(HashMap<String, Object> headMap) {
		this.headMap = headMap;
	}

	public WSVoucherInfo add(Map<String, String> params) {
		WSVoucherInfo wsVoucherInfo = new WSVoucherInfo();
		wsVoucherInfo.setCompanyNumber(params.get("companyNumber"));
		wsVoucherInfo.setBookedDate(VoucherImportUtil.parseDate(params.get("bookedDate")));
		wsVoucherInfo.setBizDate(VoucherImportUtil.parseDate(params.get("bizDate")));
		wsVoucherInfo.setPeriodYear(Integer.parseInt(params.get("periodYear")));
		wsVoucherInfo.setPeriodNumber(Integer.parseInt(params.get("periodNumber")));
		wsVoucherInfo.setVoucherType(params.get("voucherType"));
		wsVoucherInfo.setVoucherNumber(params.get("voucherNumber"));
		wsVoucherInfo.setCreator(params.get("creator"));
		wsVoucherInfo.setAttaches(Integer.parseInt(params.get("attaches")));
		wsVoucherInfo.setVoucherAbstract(params.get("description"));
		wsVoucherInfo.setCurrencyNumber(params.get("currencyNumber"));
		wsVoucherInfo.setLocalRate(Double.valueOf(params.get("localRate")).doubleValue());
		wsVoucherInfo.setEntrySeq(Integer.parseInt(params.get("entrySeq")));
		wsVoucherInfo.setAccountNumber(params.get("accountNumber"));
		wsVoucherInfo.setEntryDC(Integer.parseInt(params.get("entryDC")));
		wsVoucherInfo.setOriginalAmount(Double.valueOf(params.get("originalAmount")).doubleValue());
		wsVoucherInfo.setQty(Double.valueOf(params.get("qty")));
		wsVoucherInfo.setPrice(Double.valueOf(String.valueOf(params.get("price"))));
		wsVoucherInfo.setDebitAmount(Double.valueOf(params.get("debitAmount")).doubleValue());
		wsVoucherInfo.setCreditAmount(Double.valueOf(params.get("creditAmount")).doubleValue());
		wsVoucherInfo.setBizNumber(params.get("bizNumber"));
		wsVoucherInfo.setAsstSeq(Integer.parseInt(params.get("asstSeq")));
		wsVoucherInfo.setAsstActType1(params.get("asstActType1"));
		wsVoucherInfo.setAsstActType2(params.get("asstActType2"));
		wsVoucherInfo.setAsstActType3(params.get("asstActType3"));
		wsVoucherInfo.setAsstActType4(params.get("asstActType4"));
		wsVoucherInfo.setAsstActType5(params.get("asstActType5"));
		wsVoucherInfo.setAsstActType6(params.get("asstActType6"));
		wsVoucherInfo.setAsstActType7(params.get("asstActType7"));
		wsVoucherInfo.setAsstActType8(params.get("asstActType8"));
		wsVoucherInfo.setAsstActName1(params.get("asstActName1"));
		wsVoucherInfo.setAsstActName2(params.get("asstActName2"));
		wsVoucherInfo.setAsstActName3(params.get("asstActName3"));
		wsVoucherInfo.setAsstActName4(params.get("asstActName4"));
		wsVoucherInfo.setAsstActName5(params.get("asstActName5"));
		wsVoucherInfo.setAsstActName6(params.get("asstActName6"));
		wsVoucherInfo.setAsstActName7(params.get("asstActName7"));
		wsVoucherInfo.setAsstActName8(params.get("asstActName8"));
		wsVoucherInfo.setAsstActNumber1(params.get("asstActNumber1"));
		wsVoucherInfo.setAsstActNumber2(params.get("asstActNumber2"));
		wsVoucherInfo.setAsstActNumber3(params.get("asstActNumber3"));
		wsVoucherInfo.setAsstActNumber4(params.get("asstActNumber4"));
		wsVoucherInfo.setAsstActNumber5(params.get("asstActNumber5"));
		wsVoucherInfo.setAsstActNumber6(params.get("asstActNumber6"));
		wsVoucherInfo.setAsstActNumber7(params.get("asstActNumber7"));
		wsVoucherInfo.setAsstActNumber8(params.get("asstActNumber8"));
		return wsVoucherInfo;
	}

	public boolean addObject(IObjectValue o) {
		if (o instanceof WSVoucherInfo) {
			WSVoucherInfo info = (WSVoucherInfo) o;
			if (info.getAsstSeq() >= 0) {
				addObject(info.getAsstSeq(), o);
				return true;
			}
		}
		return super.addObject(o);
	}

	public int getInt(String key) {
		return (Integer) headMap.get(key);
	}

	public boolean getBoolean(String key) {
		return (Boolean) headMap.get(key);
	}

	public String getString(String key) {
		return (String) headMap.get(key);
	}

	public Date getDate(String key) {
		return (Date) headMap.get(key);
	}

	public double getDouble(String key) {
		return (Double) headMap.get(key);
	}

	public void setObject(String key, Object value) {
		headMap.put(key, value);
	}

	public Object getObject(String key) {
		return headMap.get(key);
	}

	public void setCompanyNumber(String item) {
		setObject("companyNumber", item);
	}

	public String getCompanyNumber() {
		return getString("companyNumber");
	}

	public Date getBookedDate() {
		return getDate("bookedDate");
	}

	public void setBookedDate(Date item) {
		setObject("bookedDate", item);
	}

	public Date getBizDate() {
		return getDate("bizDate");
	}

	public void setBizDate(Date item) {
		setObject("bizDate", item);
	}

	public int getPeriodYear() {
		return getInt("periodYear");
	}

	public void setPeriodYear(int item) {
		setObject("periodYear", item);
	}

	public int getPeriodNumber() {
		return getInt("periodNumber");
	}

	public void setPeriodNumber(int item) {
		setObject("periodNumber", item);
	}

	public String getVoucherType() {
		return getString("voucherType");
	}

	public void setVoucherType(String item) {
		setObject("voucherType", item);
	}

	public String getVoucherNumber() {
		return getString("voucherNumber");
	}

	public void setVoucherNumber(String item) {
		setObject("voucherNumber", item);
	}

	public int getEntrySeq() {
		return getInt("entrySeq");
	}

	public void setEntrySeq(int item) {
		setObject("entrySeq", item);
	}

	public String getVoucherAbstract() {
		return getString("voucherAbstract");
	}

	public void setVoucherAbstract(String item) {
		setObject("voucherAbstract", item);
	}

	public String getAccountNumber() {
		return getString("accountNumber");
	}

	public void setAccountNumber(String item) {
		setObject("accountNumber", item);
	}

	public String getCurrencyNumber() {
		return getString("currencyNumber");
	}

	public void setCurrencyNumber(String item) {
		setObject("currencyNumber", item);
	}

	public double getLocalRate() {
		return getDouble("localRate");
	}

	public void setLocalRate(double item) {
		setObject("localRate", item);
	}

	public int getEntryDC() {
		return getInt("entryDC");
	}

	public void setEntryDC(int item) {
		setObject("entryDC", item);
	}

	public double getOriginalAmount() {
		return getDouble("originalAmount");
	}

	public void setOriginalAmount(double item) {
		setObject("originalAmount", item);
	}

	public double getQty() {
		return getDouble("qty");
	}

	public void setQty(double item) {
		setObject("qty", item);
	}

	public String getMeasurement() {
		return getString("measurement");
	}

	public void setMeasurement(String item) {
		setObject("measurement", item);
	}

	public double getPrice() {
		return getDouble("price");
	}

	public void setPrice(double item) {
		setObject("price", item);
	}

	public double getDebitAmount() {
		return getDouble("debitAmount");
	}

	public void setDebitAmount(double item) {
		setObject("debitAmount", item);
	}

	public double getCreditAmount() {
		return getDouble("creditAmount");
	}

	public void setCreditAmount(double item) {
		setObject("creditAmount", item);
	}

	public String getCreator() {
		return getString("creator");
	}

	public void setCreator(String item) {
		setObject("creator", item);
	}

	public String getPoster() {
		return getString("poster");
	}

	public void setPoster(String item) {
		setObject("poster", item);
	}

	public String getAuditor() {
		return getString("auditor");
	}

	public void setAuditor(String item) {
		setObject("auditor", item);
	}

	public int getAttaches() {
		return getInt("attaches");
	}

	public void setAttaches(int item) {
		setObject("attaches", item);
	}

	public String getDescription() {
		return getString("description");
	}

	public void setDescription(String item) {
		setObject("description", item);
	}

	public int getAsstSeq() {
		return getInt("asstSeq");
	}

	public void setAsstSeq(int item) {
		setObject("asstSeq", item);
	}

	public String getBizNumber() {
		return getString("bizNumber");
	}

	public void setBizNumber(String item) {
		setObject("bizNumber", item);
	}

	public String getSettlementType() {
		return getString("settlementType");
	}

	public void setSettlementType(String item) {
		setObject("settlementType", item);
	}

	public String getSettlementNumber() {
		return getString("settlementNumber");
	}

	public void setSettlementNumber(String item) {
		setObject("settlementNumber", item);
	}

	public String getAsstActType1() {
		return getString("asstActType1");
	}

	public void setAsstActType1(String item) {
		setObject("asstActType1", item);
	}

	public String getAsstActType2() {
		return getString("asstActType2");
	}

	public void setAsstActType2(String item) {
		setObject("asstActType2", item);
	}

	public String getAsstActType3() {
		return getString("asstActType3");
	}

	public void setAsstActType3(String item) {
		setObject("asstActType3", item);
	}

	public String getAsstActType4() {
		return getString("asstActType4");
	}

	public void setAsstActType4(String item) {
		setObject("asstActType4", item);
	}

	public String getAsstActType5() {
		return getString("asstActType5");
	}

	public void setAsstActType5(String item) {
		setObject("asstActType5", item);
	}

	public String getAsstActType6() {
		return getString("asstActType6");
	}

	public void setAsstActType6(String item) {
		setObject("asstActType6", item);
	}

	public String getAsstActType7() {
		return getString("asstActType7");
	}

	public void setAsstActType7(String item) {
		setObject("asstActType7", item);
	}

	public String getAsstActType8() {
		return getString("asstActType8");
	}

	public void setAsstActType8(String item) {
		setObject("asstActType8", item);
	}

	public String getAsstActNumber1() {
		return getString("asstActNumber1");
	}

	public void setAsstActNumber1(String item) {
		setObject("asstActNumber1", item);
	}

	public String getAsstActNumber2() {
		return getString("asstActNumber2");
	}

	public void setAsstActNumber2(String item) {
		setObject("asstActNumber2", item);
	}

	public String getAsstActNumber3() {
		return getString("asstActNumber3");
	}

	public void setAsstActNumber3(String item) {
		setObject("asstActNumber3", item);
	}

	public String getAsstActNumber4() {
		return getString("asstActNumber4");
	}

	public void setAsstActNumber4(String item) {
		setObject("asstActNumber4", item);
	}

	public String getAsstActNumber5() {
		return getString("asstActNumber5");
	}

	public void setAsstActNumber5(String item) {
		setObject("asstActNumber5", item);
	}

	public String getAsstActNumber6() {
		return getString("asstActNumber6");
	}

	public void setAsstActNumber6(String item) {
		setObject("asstActNumber6", item);
	}

	public String getAsstActNumber7() {
		return getString("asstActNumber7");
	}

	public void setAsstActNumber7(String item) {
		setObject("asstActNumber7", item);
	}

	public String getAsstActNumber8() {
		return getString("asstActNumber8");
	}

	public void setAsstActNumber8(String item) {
		setObject("asstActNumber8", item);
	}

	public String getAsstActName1() {
		return getString("asstActName1");
	}

	public void setAsstActName1(String item) {
		setObject("asstActName1", item);
	}

	public String getAsstActName2() {
		return getString("asstActName2");
	}

	public void setAsstActName2(String item) {
		setObject("asstActName2", item);
	}

	public String getAsstActName3() {
		return getString("asstActName3");
	}

	public void setAsstActName3(String item) {
		setObject("asstActName3", item);
	}

	public String getAsstActName4() {
		return getString("asstActName4");
	}

	public void setAsstActName4(String item) {
		setObject("asstActName4", item);
	}

	public String getAsstActName5() {
		return getString("asstActName5");
	}

	public void setAsstActName5(String item) {
		setObject("asstActName5", item);
	}

	public String getAsstActName6() {
		return getString("asstActName6");
	}

	public void setAsstActName6(String item) {
		setObject("asstActName6", item);
	}

	public String getAsstActName7() {
		return getString("asstActName7");
	}

	public void setAsstActName7(String item) {
		setObject("asstActName7", item);
	}

	public String getAsstActName8() {
		return getString("asstActName8");
	}

	public void setAsstActName8(String item) {
		setObject("asstActName8", item);
	}

	public int getOppAccountSeq() {
		return getInt("oppAccountSeq");
	}

	public void setOppAccountSeq(int item) {
		setObject("oppAccountSeq", item);
	}

	public String getPrimaryItem() {
		return getString("primaryItem");
	}

	public void setPrimaryItem(String item) {
		setObject("primaryItem", item);
	}

	public String getSupplyItem() {
		return getString("supplyItem");
	}

	public void setSupplyItem(String item) {
		setObject("supplyItem", item);
	}

	public double getPrimaryCoef() {
		return getDouble("primaryCoef");
	}

	public void setPrimaryCoef(double item) {
		setObject("primaryCoef", item);
	}

	public double getSupplyCoef() {
		return getDouble("supplyCoef");
	}

	public void setSupplyCoef(double item) {
		setObject("supplyCoef", item);
	}

	public double getCashflowAmountOriginal() {
		return getDouble("cashflowAmountOriginal");
	}

	public void setCashflowAmountOriginal(double item) {
		setObject("cashflowAmountOriginal", item);
	}

	public double getCashflowAmountLocal() {
		return getDouble("cashflowAmountLocal");
	}

	public void setCashflowAmountLocal(double item) {
		setObject("cashflowAmountLocal", item);
	}

	public double getCashflowAmountRpt() {
		return getDouble("cashflowAmountRpt");
	}

	public void setCashflowAmountRpt(double item) {
		setObject("cashflowAmountRpt", item);
	}

	public int getItemFlag() {
		return getInt("itemFlag");
	}

	public void setItemFlag(int item) {
		setObject("itemFlag", item);
	}

	public String getInvoiceNumber() {
		return getString("invoiceNumber");
	}

	public void setInvoiceNumber(String item) {
		setObject("invoiceNumber", item);
	}

	public String getIcketNumber() {
		return getString("icketNumber");
	}

	public void setIcketNumber(String item) {
		setObject("icketNumber", item);
	}

	public boolean isIsCheck() {
		return getBoolean("isCheck");
	}

	public void setIsCheck(boolean item) {
		setObject("isCheck", item);
	}

	public int getCussent() {
		return getInt("cussent");
	}

	public void setCussent(int item) {
		setObject("cussent", item);
	}

	public String getTempNumber() {
		return getString("tempNumber");
	}

	public void setTempNumber(String item) {
		setObject("tempNumber", item);
	}

	public String getCustomerNumber() {
		return getString("customerNumber");
	}

	public void setCustomerNumber(String item) {
		setObject("customerNumber", item);
	}

	public Date getAssistBizDate() {
		return getDate("assistBizDate");
	}

	public void setAssistBizDate(Date item) {
		setObject("assistBizDate", item);
	}

	public Date getAssistEndDate() {
		return getDate("assistEndDate");
	}

	public void setAssistEndDate(Date item) {
		setObject("assistEndDate", item);
	}

}
